﻿using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Entropy.Test
{
    [TestClass]
    public class DelegateTest
    {
//        private TDelegate ExecuteLambda<TDelegate>(TDelegate func) where TDelegate : class
//        {
//            func.
//            return Lambda.TransformMethodTo<TDelegate>()
//                         .From(() => func)
//                         .ToLambda()
//                         .Compile();
//        }
//
//        [TestMethod]
//        public void ThatArrayLengthIsRecognizedAsProperty()
//        {
//            Func<int> delegat = () => { var arr = new int[0]; return arr.Length; };
//            var result = ExecuteLambda(delegat);
//            Assert.AreEqual(result(), 0);
//        }
//
//        internal class TestBox
//        {
//            internal void Method(int? width = null)
//            {
//            }
//        }
//
//        [TestMethod]
//        public void ThatMethodsWithNullableOptionalParametersAreBoxed()
//        {
//            Func<int> delegat = () =>
//                {
//                    var test = new TestBox();
//                    test.Method();
//                    return 0;
//                };
//            ExecuteLambda(delegat);
//        }
    }
}
